<?php

use think\migration\Migrator;
use think\migration\db\Column;

class AddDataPermissionFieldsToExpenseTable extends Migrator
{
    public function up()
    {
        $table = $this->table('expense');
        
        // 检查字段是否已存在，如果不存在则添加
        if (!$table->hasColumn('belong_uid')) {
            $table->addColumn('belong_uid', 'integer', [
                'signed' => false,
                'default' => 0,
                'comment' => '数据归属用户ID'
            ]);
        }
        
        if (!$table->hasColumn('belong_did')) {
            $table->addColumn('belong_did', 'integer', [
                'signed' => false,
                'default' => 0,
                'comment' => '数据归属部门ID'
            ]);
        }
        
        if (!$table->hasColumn('share_ids')) {
            $table->addColumn('share_ids', 'string', [
                'limit' => 500,
                'default' => '',
                'comment' => '共享给的用户ID列表'
            ]);
        }
        
        $table->save();
    }

    public function down()
    {
        $table = $this->table('expense');
        
        // 删除字段
        if ($table->hasColumn('belong_uid')) {
            $table->removeColumn('belong_uid');
        }
        
        if ($table->hasColumn('belong_did')) {
            $table->removeColumn('belong_did');
        }
        
        if ($table->hasColumn('share_ids')) {
            $table->removeColumn('share_ids');
        }
        
        $table->save();
    }
}